Misteri Indeks Ke-0
Sering kelewat saat tracing? Kenapa elemen pertama disebut elemen ke-0?
👩🏫 Secara Formal:
Dalam C++, array menggunakan sistem *0-based indexing*. Artinya, indeks adalah "jarak (offset)" dari titik awal memori array. Elemen pertama memiliki jarak 0 dari titik awal, sehingga diakses dengan A[0]. Jika array memiliki 5 elemen, maka indeks validnya adalah 0, 1, 2, 3, 4. Mengakses A[5] akan menyebabkan error *Out of Bounds*.
Analogi Jaman Now: Lantai Hotel
"Pernah naik lift di hotel atau mall besar? Biasanya lantai dasar tempat kamu masuk tidak disebut lantai 1, melainkan Lantai G (Ground) atau Lantai 0. Lantai 1 sebenarnya adalah 'satu tingkat di atas' lantai dasar. Array bekerja persis seperti ini! Elemen pertama itu 'Lantai Dasar' alias [0]."
Nested Loop (Perulangan Bersarang)
Membaca loop di dalam loop tanpa merasa pusing.
👩🏫 Secara Formal:
Nested loop terjadi ketika sebuah struktur perulangan (seperti for) diletakkan di dalam perulangan lain. Aturan emasnya: Perulangan bagian dalam (Inner Loop) akan menyelesaikan seluruh iterasinya secara penuh untuk setiap satu iterasi dari perulangan luar (Outer Loop).
Analogi Jaman Now: Jam Analog
"Bayangkan jarum jam analog. Jarum Jam adalah Outer Loop, sedangkan Jarum Menit adalah Inner Loop. Jarum jam baru bergeser 1 angka (misal dari jam 1 ke jam 2), HANYA JIKA jarum menit sudah menyelesaikan putaran penuh (dari menit ke-0 sampai 59). Kalau ada Jarum Detik, itu berarti ada loop ketiga di dalam! Detik harus muter 60 kali supaya menit nambah 1."
Lab Simulasi: Visualisasi Tracing
Lihat bagaimana i (baris) dan j (kolom) berinteraksi step-by-step.
Kode Program
Output Layar (Console)
Question Card
Jika sebuah array memiliki 5 elemen dan kamu menulis arr[5], apa yang akan terjadi? Mengapa?
Jawaban: Akan terjadi error Out of Bounds! Karena array 5 elemen menggunakan indeks 0 sampai 4. arr[5] mengakses alamat memori di luar batas array yang sudah dialokasikan. Di C++ ini bisa menyebabkan crash atau membaca data sampah (garbage value). Ingat: jika array berukuran N, indeks terakhir adalah N-1!